home *** CD-ROM | disk | FTP | other *** search
Java Source | 2000-06-23 | 3.6 KB | 141 lines |
- /*
- * QuickTime for Java SDK Sample Code
-
- Usage subject to restrictions in SDK License Agreement
- * Copyright: © 1996-1999 Apple Computer, Inc.
-
- */
- import java.awt.*;
- import java.awt.event.*;
- import java.io.*;
-
- import quicktime.std.StdQTConstants;
- import quicktime.*;
- import quicktime.qd.*;
- import quicktime.io.*;
- import quicktime.std.image.*;
- import quicktime.std.movies.*;
-
- import quicktime.app.players.*;
- import quicktime.app.QTFactory;
- import quicktime.app.time.*;
- import quicktime.app.image.*;
- import quicktime.app.display.*;
- import quicktime.app.anim.*;
- import quicktime.app.spaces.*;
- import quicktime.app.actions.*;
-
-
- public class KeyBoardController extends Frame implements StdQTConstants, QDConstants {
-
- public static void main(String args[]) {
- try {
- QTSession.open();
-
- KeyBoardController te = new KeyBoardController("KeyBoard Controller");
- te.pack();
- te.show();
- te.toFront();
- } catch (Exception e) {
- e.printStackTrace();
- QTSession.close();
- }
-
- }
-
- KeyBoardController(String title) throws Exception {
- super (title);
-
- QTCanvas myQTCanvas = new QTCanvas(QTCanvas.kInitialSize, 0.5f, 0.5f);
- add("Center", myQTCanvas);
-
- addWindowListener(new WindowAdapter() {
- public void windowClosing (WindowEvent e) {
- QTSession.close();
- dispose();
- }
-
- public void windowClosed (WindowEvent e) {
- System.exit(0);
- }
- });
-
- Dimension d = new Dimension (300, 300);
- QDGraphics gw = new QDGraphics (new QDRect(d));
- Compositor comp = new Compositor (gw, QDColor.gray, 20, 1);
-
- GraphicsImporterDrawer if1 = new GraphicsImporterDrawer (new QTFile (QTFactory.findAbsolutePath ("pics/house.jpg")));
- if1.setDisplayBounds (new QDRect (d));
- ImagePresenter id = ImagePresenter.fromGraphicsImporterDrawer (if1);
- id.setGraphicsMode (new GraphicsMode (blend, QDColor.gray));
- comp.addMember (id, 1);
-
- QTFile qtf = new QTFile (QTFactory.findAbsolutePath ("jumps.mov"));
- OpenMovieFile movieFile = OpenMovieFile.asRead(qtf);
- Movie mv = Movie.fromFile (movieFile);
- MoviePresenter mvp = new MoviePresenter(mv);
- mvp.setLocation (80, 80);
- comp.addMember (mvp, 2);
-
- KBDController keyController = new KBDController(mvp);
- comp.addController(keyController);
-
- myQTCanvas.setClient (comp, true);
- comp.getTimer().setRate(1);
- }
- }
-
-
- class KBDController implements ListenerController, KeyListener {
-
- private Playable player;
- private float savedRate = 1;
- KBDController (Playable player) {
- this.player = player;
- }
-
- public void addedToSpace (Space s) {}
-
- public void removedFromSpace () {}
-
- public void addedTo (Object interest){
- if (interest instanceof Component)
- ((Component)interest).addKeyListener (this);
- }
- public void removedFrom (Object interest){
- if (interest instanceof Component)
- ((Component)interest).removeKeyListener (this);
- }
- public void keyPressed (KeyEvent e) {
- try {
- switch (e.getKeyCode()) {
- case KeyEvent.VK_SPACE:
- if (player.getRate() != 0)
- player.setRate (0);
- else
- player.setRate (savedRate);
- break;
- case KeyEvent.VK_UP:
- player.setTime (player.getDuration());
- break;
- case KeyEvent.VK_DOWN:
- player.setTime (0);
- break;
- case KeyEvent.VK_LEFT:
- player.setRate (-1);
- savedRate = -1;
- break;
- case KeyEvent.VK_RIGHT:
- player.setRate (1);
- savedRate = 1;
- break;
- }
- } catch (QTException ee) {
- throw new QTRuntimeException (ee);
- }
- }
- public void keyReleased (KeyEvent e) {}
- public void keyTyped (KeyEvent e) {}
- }
-
-